

namespace FileDirUtils
{
    public class FileComparerFactory
    {
        static public IFileCompare GetFileComparerSize()
        {
            return new FileCompareSize();
        }
        static public IFileCompare GetFileComparerContent()
        {
            return new FileCompareContent();
        }
        static public IFileCompare GetFileComparerSizeAndDate()
        {
            return new FileCompareDecorator(new FileCompareSize(), new FileCompareDate());
        }

        static public IFileCompare GetFileComparerSizeDateAndContent()
        {
            return new FileCompareDecorator(new FileCompareSize(), 
                                            new FileCompareDecorator(new FileCompareDate(), new FileCompareContent()));
        }
    }
}